package com.yf.monitor.annotatior;

import java.lang.annotation.*;

/**
 * @ClassName ApiMonitor
 * @Description 监控注解
 * @Author Scott.Yin
 * @Date 2025/8/21 17:28
 * @Version 1.0
 **/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiMonitor {
    /**
     * @Description 使用值
     **/
    String value() default "";
    /**
     * @Description 记录请求参数
     **/
    boolean logRequest() default true;
    /**
     * @Description 记录响应内容
     **/
    boolean logResponse() default true;
    /**
     * @Description 是否异步记录数据
     **/
    boolean async() default true;
    double sampleRate() default 1.0;
    /**
     * @Description 关键字字段key=value
     **/
    String[] keyword() default {};
    /**
     * 关键字类型
     **/
    String keyType() default "";

}
